#coding=gbk   #防止汉字不兼容
import sys
import os

def Count_Line(filename):
    global con
    wc = open(filename, 'r', encoding="utf-8")
    con = wc.readlines()
    #print(con)  #输出的是每一行里面的内容 以数组进行输出
    wc.close()

def Count_Str():    ##标点符号算作了字符（使用wps有感） 空格回车不算
    sum_str = 0
    for i in range(0,len(con)):

        num_str = ''.join(con[i].split())##去掉所有的空格
        sum_str = len(num_str) + sum_str
    return sum_str

def Count_Sec():##通过统计句点、叹号和问号的个数
    sum_sectence = 0
    x = 0
    for i in range(0,len(con)):

        num_sec = ''.join(con[i].split())##去掉所有的空格
        #print(num_sec)
        max = len(num_sec)
        for j in range(x,max):
            if(num_sec[j] == '.'): ##省略号必须有四个. 符合英语规范
                if(max-j > 3):
                    if(num_sec[j+2] == '.'):
                        sum_sectence = sum_sectence + 1
                        x = j + 3
                    else:
                        sum_sectence = sum_sectence + 1
                else:
                    sum_sectence = sum_sectence + 1
            if(num_sec[j] == '?' or num_sec[j] == '!'):
                sum_sectence = sum_sectence + 1
    return sum_sectence

def Count_Word():#空格数（连续也算作一个）加上句子的个数即可
    sum_word = 0
    sum_sectence = Count_Sec()
    for i in range(0,len(con)):
        num_word = ' '.join(con[i].split())
        #print(num_word)
        for j in range(1, len(num_word)):
            ###把所有的空格都合成一个 过滤掉每一行第一个空格
            if(num_word[j] == ' '):
                sum_word = sum_word + 1
    sum_word = sum_word + sum_sectence
    return sum_word



if __name__ == "__main__":
    start_all()
    while True:
        #os.system("cmd")
        guolv,run_model, filename = map(str, input("wc.exe").split(' '))
        #前面只能有一个空格 间隔只能为一个空格 最后不允许添加空格 严格按照规范来
        Count_Line(filename)
        #如果文件名不对 是会直接报错的 无法运行'/'作为反斜杠 不要加''
        if(run_model == '-s'):
            print("该英文文本的字符数量：",Count_Str()) #多次实验 较为稳定
        elif (run_model == '-e'):
            print("该英文文本的句子数量：",Count_Sec()) #先去除前后空白 然后把空格合并成为一个
        elif (run_model == '-w'):
            print("该英文文本的单词数量：",Count_Word()) ##忘记说啥了
        elif (run_model == '-tx'):
            print("该英文文本的字符数量：", Count_Str())
            print("该英文文本的句子数量：", Count_Sec())
            print("该英文文本的单词数量：", Count_Word())
        elif (run_model == '-p'):
            print("程序结束 感谢您的使用")
            os.system("pause")
            sys.exit(0)
        else:
            print("输入格式有误")
